Telecommunication systems have recently been designed for providing a variety of real-time services and features in an open distributed environment through the collaboration of a set of software components called agents. Such multi-agent systems are designed in such a way that they may adapt and evolve in the face of changing environments. One such multi-agent system is known as MANA (Multi-Agent Architecture for Networking Applications) developed by Mitel Corporation. Through the use of a distributed agent architecture, the system meets high reliability levels and adapts to accommodate technological or service evolution. To achieve these goals, intelligence or learning mechanisms are provided to update service information derived from the operation of the agents. This information is used to redefine the agents and to reallocate resources for correcting failures and to meet the requirements of a defined service more precisely.
An application or service in a multi-agent system is mapped as a series of calls amongst agents to perform the service. Each agent specifies its type, quantity and quality of service (QoS) in order to provide for an overall application. Since multi-agent systems are implemented in an open environment, no agent has prior knowledge of any other agent. The only knowledge that an agent possesses is its requirements and capabilities to provide a specific type of service. Thus, an agent may be required to find other agents to fulfill certain of its service requirements. A calling agent (referred to herein as a Bid Manager) sends out a call for bids for services to a plurality of called agents (referred to herein as Bidders), each of whom may be capable of providing the necessary resources for the Bid Manager to complete its task. The Bid Manager receives and evaluates the bids from the various Bidders and selects the agent which has the best chance of success in performing the requested service. This is referred to herein as selecting the “lowest bid”.
One example of a classic bidding mechanism of the foregoing type is disclosed in commonly owned U.S. Pat. No. 5,675,636 entitled Adaptive Method of Allocating Calls. According to this system, a Router Agent sends a call for bids to a plurality of Carrier Agents in order to determine the cost to complete a call by each of the Carrier Agents. The system then selects the cheapest bid. In the embodiment disclosed in U.S. Pat. No. 5,675,636 all of the Bidders are running in the same PBX as the BidManager. However, in the case of a distributed telecommunications system, some of the bidding Carrier Agents may be running on one or more remote PBX's that are linked with the local PBX through a leased line. In such a system it is important to optimize the bidding process to avoid having to request bids from each Bidder each time a service is requested. Requesting bids can be time-costly and therefore inapplicable in real-time applications such as Advanced Automatic Route Selection (AARS) as set forth in U.S. Pat. No. 5,675,636, especially if the system is a distributed one.